#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>

#include "PaintWidget.h"
#include "StartupDialog.h"
#include "ui/NodeListDialog.h"
#include "core/BlackboardManager.h"

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(BlackboardManager *blackboardManager);
    ~MainWindow();

    void show();

public slots:
    void sizeChange(int width, int height);
    void drawPaths(const QList<DrawPath *> * paths, QColor color);
    void imagePaint(const QImage & image);
    void lockRequested();
    void unlockRequested();
    void paintLockChanged(bool value);

private:
    Ui::MainWindow *ui;
    QAction * lockAction;
    QAction * unlockAction;
    QLabel * lockLabel;

    BlackboardManager *blackboardManager;

    StartupDialog *startupDialog;
    PaintWidget *paintWidget;
    NodeListDialog *nodeListDialog;
};

#endif // MAINWINDOW_H
